package ca.etsmtl.applets.etsmobile.ui.adapter; import android.annotation.SuppressLint; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import com.octo.android.robospice.request.listener.RequestListener; import org.joda.time.DateTime; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; import java.util.ArrayList; import ca.etsmtl.applets.etsmobile.model.Nouvelle; import ca.etsmtl.applets.etsmobile2.R; /** * Created by gnut3ll4 on 12/12/14. */ public class NewsAdapter extends ArrayAdapter<Nouvelle> { private LayoutInflater inflater; private RequestListener<Object> listener; public NewsAdapter(Context context,int rowLayoutResourceId, ArrayList<Nouvelle> list, RequestListener<Object> listener) { super(context, rowLayoutResourceId, list); this.inflater = LayoutInflater.from(context); this.listener = listener; } @SuppressLint("DefaultLocale") @Override public View getView(int position, View view, ViewGroup parent) { ViewHolder holder; if (view != null) { holder = (ViewHolder) view.getTag(); } else { view = inflater.inflate(R.layout.row_news, parent, false); holder = new ViewHolder(); holder.tvTitre = (TextView) view.findViewById(R.id.tv_row_news_titre); holder.tvDate = (TextView) view.findViewById(R.id.tv_row_news_date); holder.imageSource = (ImageView) view.findViewById(R.id.iv_news_source); view.setTag(holder); } Nouvelle item = getItem(position); holder.tvTitre.setText(item.getTitle()); String updatedTime = item.getUpdated_time(); DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"); DateTime date = dateTimeFormatter.parseDateTime(updatedTime); DateTimeFormatter dateToDisplay = DateTimeFormat.forPattern("dd MMM yyyy"); holder.tvDate.setText(dateToDisplay.print(date)); holder.tvTitre.setText(item.getTitle()); holder.imageSource.setImageResource(item.getImageResource()); return view; } static class ViewHolder { TextView tvTitre; TextView tvDate; ImageView imageSource; } }